

package com.hazelcast.internal.monitor.impl;

import com.hazelcast.internal.monitor.WanSyncState;
import com.hazelcast.internal.util.Clock;
import com.hazelcast.wan.impl.WanSyncStatus;

@SuppressWarnings("unused")
public class WanSyncStateImpl implements WanSyncState {

    private long creationTime;
    private WanSyncStatus status = WanSyncStatus.READY;
    private String activeWanConfigName;
    private String activePublisherName;

    public WanSyncStateImpl(WanSyncStatus status, String activeWanConfigName, String activePublisherName) {
        creationTime = Clock.currentTimeMillis();
        this.status = status;
        this.activeWanConfigName = activeWanConfigName;
        this.activePublisherName = activePublisherName;
    }

    @Override
    public long getCreationTime() {
        return creationTime;
    }

    @Override
    public WanSyncStatus getStatus() {
        return status;
    }

    @Override
    public String getActiveWanConfigName() {
        return activeWanConfigName;
    }

    @Override
    public String getActivePublisherName() {
        return activePublisherName;
    }

    @Override
    public String toString() {
        return "WanSyncStateImpl{wanSyncStatus=" + status + ", activeWanConfigName=" + activeWanConfigName + ", activePublisherName=" + activePublisherName + '}';
    }
}
